1. Field of the Invention
The present invention is directed to a telecommunications network and, in particular, to a system and method for establishing a virtual circuit in an ATM network.
2. Related Art
Computer networks often are designed to connect “client” systems with “server” systems. A client is a device and/or software that requests information from a server. A client may be a computer system or process, for example. The server is typically a shared computer in which data is stored and from which data is distributed. A server may be a computer program, a database system, or a computer system, for example. The server provides a service to clients utilizing a “client-server model.”
According to the client-server model, the client connects to the server, sends a request (or query) to the server, and waits for a response from the server. The client may request that the server perform a computation, retrieve a file, or search a database for a particular entry, for example. It is not uncommon for the client to subsequently translate the server's response into a format that a human can understand.
Computer networks are often designed with multiple servers to increase network reliability. Those skilled in the art will recognize that server redundancy decreases the disruption felt by the network when one or more servers fail. When failure does occur, client queries can be redirected to alternate servers capable of handling the queries.
Many networks today employ an asynchronous transfer mode (ATM) scheme for network communication. ATM networks are particularly useful in today's multi-vendor environment where applications have different performance, quality, and business requirements, but which utilize the same computer, multiplexer, router, switch, and/or network.
Routing of queries in an ATM network is based on virtual circuit routing. A virtual circuit is a circuit that appears to the client and to the server to be a dedicated point-to-point circuit. An ATM network must establish a path from the client to the server (i.e., the virtual circuit) before client/server communication can begin. The ATM network establishes a virtual circuit after receiving a request for connection from a client. The request for connection includes an address which identifies the desired server to the ATM network. Through a private network-to-network interface (PNNI) routing process, the ATM network selects the best path through the network from the requesting client to the desired server. These conventional ATM routing techniques are well known to those skilled in the art.
Conventional ATM routing performs poorly where the desired server has failed or is otherwise unavailable. Queries must be routed to a new server capable of handling the query. Some clients may not be capable of selecting a new server-these clients may not have their queries answered. Other clients may be capable of selecting a new server, but doing so requires additional time and the client must maintain a list of all currently available servers and their addresses. What is needed, therefore, is a system and method for establishing a virtual circuit in an ATM network to any one of a set of suitable servers without the client having to know either the status or address of suitable servers.